#include "stm32f4xx.h"
 
#define IIC_SCL_Pin GPIO_Pin_6
#define IIC_SDA_Pin GPIO_Pin_7
#define IIC_GPIO_Port GPIOB
#define IIC_RCCPeriphClock RCC_AHB1Periph_GPIOB
 
#define SCL_H GPIO_SetBits(IIC_GPIO_Port,IIC_SCL_Pin)
#define SCL_L GPIO_ResetBits(IIC_GPIO_Port,IIC_SCL_Pin)
#define SDA_H GPIO_SetBits(IIC_GPIO_Port,IIC_SDA_Pin)
#define SDA_L GPIO_ResetBits(IIC_GPIO_Port,IIC_SDA_Pin)
#define SDA_READ GPIO_ReadInputDataBit(IIC_GPIO_Port,IIC_SDA_Pin)

void SDA_IN(void);
void IIC_GPIO_config(void);
void IIC_Start(void);
void IIC_Stop(void);
u8 IIC_Wait_Ack(void);
void IIC_ACK(void);
void IIC_NACK(void);
void  IIC_SendByte(u8 Dat);
u8 IIC_ReadByte(u8 ack);
u8 IIC_Read_OneAddress(u8 Device_Address,u8 Reg_Address);
void IIC_Write_OneAddress(u8 Device_Address,u8 Reg_Address,u8 dat);


